<script setup lang="ts">
onLaunch((options) => {
  console.log('小程序启动', options)
  if (options?.query?.inviteId) {
    console.log('邀请码', options.query.inviteId)
    useInviteId().setInviteId(options.query.inviteId)
  }
})

onShow(() => {
  const updateManager = uni.getUpdateManager() // 小程序版本更新管理器
  updateManager.onCheckForUpdate((res) => { // 检测新版本后的回调
    if (res.hasUpdate) { // 如果有新版本提醒并进行强制升级
      uni.showModal({
        title: '更新提示',
        content: '新版本已经准备好，是否重启应用？',
        showCancel: false,
        confirmText: '确定',
        success: (res) => {
          if (res.confirm) {
            updateManager.onUpdateReady((res) => { // 新版本下载完成的回调
              updateManager.applyUpdate() // 强制当前小程序应用上新版本并重启
            })
            updateManager.onUpdateFailed((res) => { // 新版本下载失败的回调
              // 新版本下载失败，提示用户删除后通过冷启动重新打开
              uni.showModal({
                content: '下载失败，请删除当前小程序后重新打开',
                showCancel: false,
                confirmText: '知道了',
              })
            })
          }
        },
      })
    }
  })
})

onHide(() => {
  console.log('小程序隐藏')
  useInviteId().clearInviteId() // 清除邀请码
})
</script>
